package com.byq.mm.smartlib.obd.commands;

import java.util.ArrayList;
import java.util.List;


import com.byq.mm.smartlib.obd.commands.engine.EngineLoadObdCommand;
import com.byq.mm.smartlib.obd.commands.engine.EngineRPMObdCommand;
import com.byq.mm.smartlib.obd.commands.engine.EngineRuntimeObdCommand;
import com.byq.mm.smartlib.obd.commands.engine.MassAirFlowObdCommand;
import com.byq.mm.smartlib.obd.commands.engine.SpeedObdCommand;
import com.byq.mm.smartlib.obd.commands.fuel.FuelConsumptionObdCommand;
import com.byq.mm.smartlib.obd.commands.fuel.FuelLevelObdCommand;
import com.byq.mm.smartlib.obd.commands.pressure.BarometricPressureObdCommand;
import com.byq.mm.smartlib.obd.commands.pressure.FuelPressureObdCommand;
import com.byq.mm.smartlib.obd.commands.pressure.IntakeManifoldPressureObdCommand;
import com.byq.mm.smartlib.obd.commands.temperature.AirIntakeTemperatureObdCommand;
import com.byq.mm.smartlib.obd.commands.temperature.AmbientAirTemperatureObdCommand;
import com.byq.mm.smartlib.obd.commands.temperature.EngineCoolantTemperatureObdCommand;

public class CommandManager {

	static public List<AbstractObdCommand> supportedCommands() {
		List<AbstractObdCommand> command = new ArrayList<AbstractObdCommand>();

		//temperature.....//
		command.add(new AmbientAirTemperatureObdCommand());
		
		
		command.add(new AirIntakeTemperatureObdCommand());
		
		command.add(new EngineCoolantTemperatureObdCommand());

		//engine............//
		command.add(new SpeedObdCommand());

		command.add(new EngineRPMObdCommand());

		
		command.add(new EngineLoadObdCommand());

		command.add(new EngineRuntimeObdCommand());

		command.add(new MassAirFlowObdCommand());

		//fuel.....//
	//	command.add(new FuelTypeObdCommand());
	
		command.add(new FuelLevelObdCommand());

		command.add(new FuelConsumptionObdCommand());

		//pressure.........//
		command.add(new BarometricPressureObdCommand());
	
		command.add(new FuelPressureObdCommand());
	
		command.add(new IntakeManifoldPressureObdCommand());
	
		
//		command.add(new FuelTrimObdCommand(FuelTrim.LONG_TERM_BANK_1));
//		command.add(new FuelTrimObdCommand(FuelTrim.LONG_TERM_BANK_2));
//		command.add(new FuelTrimObdCommand(FuelTrim.SHORT_TERM_BANK_1));
//		command.add(new FuelTrimObdCommand(FuelTrim.SHORT_TERM_BANK_2));
//		command.add(new FuelTrimObdCommand(FuelTrim.SHORT_TERM_BANK_2));

//		command.add(new CommandEquivRatioObdCommand());
		return command;
	}
}
